package com.cictec.middleware.core.entity;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;

@Table(name = "t_bus")
public class Bus implements Serializable {
	
	/**
	 * 设备表中的 设备编号
	 */
	@Transient
	private String devCode;
	
	public String getDevCode() {
		return devCode;
	}
	public void setDevCode(String devCode) {
		this.devCode = devCode;
	}

	/**
	 * 主键
	 */
	@Id
	@Column(name = "bus_uuid")
	private String busUuid;

	/**
	 * 设备编号
	 */
	@Column(name = "bus_dev_uuid")
	private String busDevUuid;

	/**
	 * 车牌号
	 */
	@Column(name = "bus_plate_number")
	private String busPlateNumber;

	/**
	 * 车辆自编号
	 */
	@Column(name = "bus_self_code")
	private String busSelfCode;

	@Column(name = "bus_brand_uuid")
	private String busBrandUuid;

	/**
	 * 燃料类型
	 */
	@Column(name = "bus_fuel_type")
	private String busFuelType;

	/**
	 * 删除标记1：启用0：禁用
	 */
	@Column(name = "bus_isvalid")
	private String busIsvalid;

	/**
	 * 所属机构
	 */
	@Column(name = "bus_org_uuid")
	private String busOrgUuid;

	/**
	 * 所属线路
	 */
	@Column(name = "bus_line_uuid")
	private String busLineUuid;

	@Column(name = "bus_load_number")
	private Integer busLoadNumber;

	/**
	 * 创建人
	 */
	@Column(name = "bus_create_user")
	private String busCreateUser;

	/**
	 * 创建时间
	 */
	@Column(name = "bus_create_time")
	private Date busCreateTime;

	/**
	 * 更新人
	 */
	@Column(name = "bus_update_user")
	private String busUpdateUser;

	/**
	 * 更新时间
	 */
	@Column(name = "bus_update_time")
	private Date busUpdateTime;

	/**
	 * 删除表示（0:未删除;1:已删除）
	 */
	@Column(name = "bus_drop_flag")
	private String busDropFlag;

	@Column(name = "bus_remark")
	private String busRemark;

	/**
	 * 车辆状态： 1：运行 2：故障 3：事故: 4：报警 5：偏线 6：加油
	 */
	@Column(name = "bus_status")
	private String busStatus;

	/**
	 * 运营状态 0：非运营，1：运营
	 */
	@Column(name = "bus_oper_status")
	private Short busOperStatus;

	/**
	 * 车辆调度状态。0-可调度； 大于0 为不可调度； 1 -- 维修；2 -- 年检；3--其它
	 */
	@Column(name = "bus_dispatch_status")
	private String busDispatchStatus;

	@Column(name = "bus_in_park_status")
	private String busInParkStatus;

	@Column(name = "bus_standby_status")
	private String busStandbyStatus;

	@Column(name = "bus_login_driver_uuid")
	private String busLoginDriverUuid;

	@Column(name = "bus_login_time")
	private Date busLoginTime;

	/**
	 * 当前车辆所在线路
	 */
	@Column(name = "bus_working_line_uuid")
	private String busWorkingLineUuid;

	@Column(name = "bus_force_non_oper")
	private String busForceNonOper;

	@Column(name = "bus_force_non_oper_expired")
	private Date busForceNonOperExpired;

	@Column(name = "bus_enter_standby_time")
	private Date busEnterStandbyTime;

	/**
	 * 来自同步库 1 来自别的库 0 正常录入数据
	 */
	@Column(name = "bus_flag")
	private Short busFlag;

	private static final long serialVersionUID = 1L;

	/**
	 * 获取主键
	 *
	 * @return bus_uuid - 主键
	 */
	public String getBusUuid() {
		return busUuid;
	}

	/**
	 * 设置主键
	 *
	 * @param busUuid
	 *            主键
	 */
	public void setBusUuid(String busUuid) {
		this.busUuid = busUuid == null ? null : busUuid.trim();
	}

	/**
	 * 获取设备编号
	 *
	 * @return bus_dev_uuid - 设备编号
	 */
	public String getBusDevUuid() {
		return busDevUuid;
	}

	/**
	 * 设置设备编号
	 *
	 * @param busDevUuid
	 *            设备编号
	 */
	public void setBusDevUuid(String busDevUuid) {
		this.busDevUuid = busDevUuid == null ? null : busDevUuid.trim();
	}

	/**
	 * 获取车牌号
	 *
	 * @return bus_plate_number - 车牌号
	 */
	public String getBusPlateNumber() {
		return busPlateNumber;
	}

	/**
	 * 设置车牌号
	 *
	 * @param busPlateNumber
	 *            车牌号
	 */
	public void setBusPlateNumber(String busPlateNumber) {
		this.busPlateNumber = busPlateNumber == null ? null : busPlateNumber.trim();
	}

	/**
	 * 获取车辆自编号
	 *
	 * @return bus_self_code - 车辆自编号
	 */
	public String getBusSelfCode() {
		return busSelfCode;
	}

	/**
	 * 设置车辆自编号
	 *
	 * @param busSelfCode
	 *            车辆自编号
	 */
	public void setBusSelfCode(String busSelfCode) {
		this.busSelfCode = busSelfCode == null ? null : busSelfCode.trim();
	}

	/**
	 * @return bus_brand_uuid
	 */
	public String getBusBrandUuid() {
		return busBrandUuid;
	}

	/**
	 * @param busBrandUuid
	 */
	public void setBusBrandUuid(String busBrandUuid) {
		this.busBrandUuid = busBrandUuid == null ? null : busBrandUuid.trim();
	}

	/**
	 * 获取燃料类型
	 *
	 * @return bus_fuel_type - 燃料类型
	 */
	public String getBusFuelType() {
		return busFuelType;
	}

	/**
	 * 设置燃料类型
	 *
	 * @param busFuelType
	 *            燃料类型
	 */
	public void setBusFuelType(String busFuelType) {
		this.busFuelType = busFuelType == null ? null : busFuelType.trim();
	}

	/**
	 * 获取删除标记1：启用0：禁用
	 *
	 * @return bus_isvalid - 删除标记1：启用0：禁用
	 */
	public String getBusIsvalid() {
		return busIsvalid;
	}

	/**
	 * 设置删除标记1：启用0：禁用
	 *
	 * @param busIsvalid
	 *            删除标记1：启用0：禁用
	 */
	public void setBusIsvalid(String busIsvalid) {
		this.busIsvalid = busIsvalid == null ? null : busIsvalid.trim();
	}

	/**
	 * 获取所属机构
	 *
	 * @return bus_org_uuid - 所属机构
	 */
	public String getBusOrgUuid() {
		return busOrgUuid;
	}

	/**
	 * 设置所属机构
	 *
	 * @param busOrgUuid
	 *            所属机构
	 */
	public void setBusOrgUuid(String busOrgUuid) {
		this.busOrgUuid = busOrgUuid == null ? null : busOrgUuid.trim();
	}

	/**
	 * 获取所属线路
	 *
	 * @return bus_line_uuid - 所属线路
	 */
	public String getBusLineUuid() {
		return busLineUuid;
	}

	/**
	 * 设置所属线路
	 *
	 * @param busLineUuid
	 *            所属线路
	 */
	public void setBusLineUuid(String busLineUuid) {
		this.busLineUuid = busLineUuid == null ? null : busLineUuid.trim();
	}

	/**
	 * @return bus_load_number
	 */
	public Integer getBusLoadNumber() {
		return busLoadNumber;
	}

	/**
	 * @param busLoadNumber
	 */
	public void setBusLoadNumber(Integer busLoadNumber) {
		this.busLoadNumber = busLoadNumber;
	}

	/**
	 * 获取创建人
	 *
	 * @return bus_create_user - 创建人
	 */
	public String getBusCreateUser() {
		return busCreateUser;
	}

	/**
	 * 设置创建人
	 *
	 * @param busCreateUser
	 *            创建人
	 */
	public void setBusCreateUser(String busCreateUser) {
		this.busCreateUser = busCreateUser == null ? null : busCreateUser.trim();
	}

	/**
	 * 获取创建时间
	 *
	 * @return bus_create_time - 创建时间
	 */
	public Date getBusCreateTime() {
		return busCreateTime;
	}

	/**
	 * 设置创建时间
	 *
	 * @param busCreateTime
	 *            创建时间
	 */
	public void setBusCreateTime(Date busCreateTime) {
		this.busCreateTime = busCreateTime;
	}

	/**
	 * 获取更新人
	 *
	 * @return bus_update_user - 更新人
	 */
	public String getBusUpdateUser() {
		return busUpdateUser;
	}

	/**
	 * 设置更新人
	 *
	 * @param busUpdateUser
	 *            更新人
	 */
	public void setBusUpdateUser(String busUpdateUser) {
		this.busUpdateUser = busUpdateUser == null ? null : busUpdateUser.trim();
	}

	/**
	 * 获取更新时间
	 *
	 * @return bus_update_time - 更新时间
	 */
	public Date getBusUpdateTime() {
		return busUpdateTime;
	}

	/**
	 * 设置更新时间
	 *
	 * @param busUpdateTime
	 *            更新时间
	 */
	public void setBusUpdateTime(Date busUpdateTime) {
		this.busUpdateTime = busUpdateTime;
	}

	/**
	 * 获取删除表示（0:未删除;1:已删除）
	 *
	 * @return bus_drop_flag - 删除表示（0:未删除;1:已删除）
	 */
	public String getBusDropFlag() {
		return busDropFlag;
	}

	/**
	 * 设置删除表示（0:未删除;1:已删除）
	 *
	 * @param busDropFlag
	 *            删除表示（0:未删除;1:已删除）
	 */
	public void setBusDropFlag(String busDropFlag) {
		this.busDropFlag = busDropFlag == null ? null : busDropFlag.trim();
	}

	/**
	 * @return bus_remark
	 */
	public String getBusRemark() {
		return busRemark;
	}

	/**
	 * @param busRemark
	 */
	public void setBusRemark(String busRemark) {
		this.busRemark = busRemark == null ? null : busRemark.trim();
	}

	/**
	 * 获取车辆状态： 1：运行 2：故障 3：事故: 4：报警 5：偏线 6：加油
	 *
	 * @return bus_status - 车辆状态： 1：运行 2：故障 3：事故: 4：报警 5：偏线 6：加油
	 */
	public String getBusStatus() {
		return busStatus;
	}

	/**
	 * 设置车辆状态： 1：运行 2：故障 3：事故: 4：报警 5：偏线 6：加油
	 *
	 * @param busStatus
	 *            车辆状态： 1：运行 2：故障 3：事故: 4：报警 5：偏线 6：加油
	 */
	public void setBusStatus(String busStatus) {
		this.busStatus = busStatus;
	}

	/**
	 * 获取运营状态 0：非运营，1：运营
	 *
	 * @return bus_oper_status - 运营状态 0：非运营，1：运营
	 */
	public Short getBusOperStatus() {
		return busOperStatus;
	}

	/**
	 * 设置运营状态 0：非运营，1：运营
	 *
	 * @param busOperStatus
	 *            运营状态 0：非运营，1：运营
	 */
	public void setBusOperStatus(Short busOperStatus) {
		this.busOperStatus = busOperStatus;
	}

	/**
	 * 获取车辆调度状态。0-可调度； 大于0 为不可调度； 1 -- 维修；2 -- 年检；3--其它
	 *
	 * @return bus_dispatch_status - 车辆调度状态。0-可调度； 大于0 为不可调度； 1 -- 维修；2 --
	 *         年检；3--其它
	 */
	public String getBusDispatchStatus() {
		return busDispatchStatus;
	}

	/**
	 * 设置车辆调度状态。0-可调度； 大于0 为不可调度； 1 -- 维修；2 -- 年检；3--其它
	 *
	 * @param busDispatchStatus
	 *            车辆调度状态。0-可调度； 大于0 为不可调度； 1 -- 维修；2 -- 年检；3--其它
	 */
	public void setBusDispatchStatus(String busDispatchStatus) {
		this.busDispatchStatus = busDispatchStatus == null ? null : busDispatchStatus.trim();
	}

	/**
	 * @return bus_in_park_status
	 */
	public String getBusInParkStatus() {
		return busInParkStatus;
	}

	/**
	 * @param busInParkStatus
	 */
	public void setBusInParkStatus(String busInParkStatus) {
		this.busInParkStatus = busInParkStatus == null ? null : busInParkStatus.trim();
	}

	/**
	 * @return bus_standby_status
	 */
	public String getBusStandbyStatus() {
		return busStandbyStatus;
	}

	/**
	 * @param busStandbyStatus
	 */
	public void setBusStandbyStatus(String busStandbyStatus) {
		this.busStandbyStatus = busStandbyStatus == null ? null : busStandbyStatus.trim();
	}

	/**
	 * @return bus_login_driver_uuid
	 */
	public String getBusLoginDriverUuid() {
		return busLoginDriverUuid;
	}

	/**
	 * @param busLoginDriverUuid
	 */
	public void setBusLoginDriverUuid(String busLoginDriverUuid) {
		this.busLoginDriverUuid = busLoginDriverUuid == null ? null : busLoginDriverUuid.trim();
	}

	/**
	 * @return bus_login_time
	 */
	public Date getBusLoginTime() {
		return busLoginTime;
	}

	/**
	 * @param busLoginTime
	 */
	public void setBusLoginTime(Date busLoginTime) {
		this.busLoginTime = busLoginTime;
	}

	/**
	 * 当前车辆所在线路
	 * @return bus_working_line_uuid
	 */
	public String getBusWorkingLineUuid() {
		return busWorkingLineUuid;
	}

	/**
	 * 当前车辆所在线路
	 * @param busWorkingLineUuid
	 */
	public void setBusWorkingLineUuid(String busWorkingLineUuid) {
		this.busWorkingLineUuid = busWorkingLineUuid == null ? null : busWorkingLineUuid.trim();
	}

	/**
	 * @return bus_force_non_oper
	 */
	public String getBusForceNonOper() {
		return busForceNonOper;
	}

	/**
	 * @param busForceNonOper
	 */
	public void setBusForceNonOper(String busForceNonOper) {
		this.busForceNonOper = busForceNonOper == null ? null : busForceNonOper.trim();
	}

	/**
	 * @return bus_force_non_oper_expired
	 */
	public Date getBusForceNonOperExpired() {
		return busForceNonOperExpired;
	}

	/**
	 * @param busForceNonOperExpired
	 */
	public void setBusForceNonOperExpired(Date busForceNonOperExpired) {
		this.busForceNonOperExpired = busForceNonOperExpired;
	}

	/**
	 * @return bus_enter_standby_time
	 */
	public Date getBusEnterStandbyTime() {
		return busEnterStandbyTime;
	}

	/**
	 * @param busEnterStandbyTime
	 */
	public void setBusEnterStandbyTime(Date busEnterStandbyTime) {
		this.busEnterStandbyTime = busEnterStandbyTime;
	}

	/**
	 * 获取来自同步库 1 来自别的库 0 正常录入数据
	 *
	 * @return bus_flag - 来自同步库 1 来自别的库 0 正常录入数据
	 */
	public Short getBusFlag() {
		return busFlag;
	}

	/**
	 * 设置来自同步库 1 来自别的库 0 正常录入数据
	 *
	 * @param busFlag
	 *            来自同步库 1 来自别的库 0 正常录入数据
	 */
	public void setBusFlag(Short busFlag) {
		this.busFlag = busFlag;
	}

	@Override
	public String toString() {
		StringBuilder sb = new StringBuilder();
		sb.append(getClass().getSimpleName());
		sb.append(" [");
		sb.append("Hash = ").append(hashCode());
		sb.append(", busUuid=").append(busUuid);
		sb.append(", busDevUuid=").append(busDevUuid);
		sb.append(", busPlateNumber=").append(busPlateNumber);
		sb.append(", busSelfCode=").append(busSelfCode);
		sb.append(", busBrandUuid=").append(busBrandUuid);
		sb.append(", busFuelType=").append(busFuelType);
		sb.append(", busIsvalid=").append(busIsvalid);
		sb.append(", busOrgUuid=").append(busOrgUuid);
		sb.append(", busLineUuid=").append(busLineUuid);
		sb.append(", busLoadNumber=").append(busLoadNumber);
		sb.append(", busCreateUser=").append(busCreateUser);
		sb.append(", busCreateTime=").append(busCreateTime);
		sb.append(", busUpdateUser=").append(busUpdateUser);
		sb.append(", busUpdateTime=").append(busUpdateTime);
		sb.append(", busDropFlag=").append(busDropFlag);
		sb.append(", busRemark=").append(busRemark);
		sb.append(", busStatus=").append(busStatus);
		sb.append(", busOperStatus=").append(busOperStatus);
		sb.append(", busDispatchStatus=").append(busDispatchStatus);
		sb.append(", busInParkStatus=").append(busInParkStatus);
		sb.append(", busStandbyStatus=").append(busStandbyStatus);
		sb.append(", busLoginDriverUuid=").append(busLoginDriverUuid);
		sb.append(", busLoginTime=").append(busLoginTime);
		sb.append(", busWorkingLineUuid=").append(busWorkingLineUuid);
		sb.append(", busForceNonOper=").append(busForceNonOper);
		sb.append(", busForceNonOperExpired=").append(busForceNonOperExpired);
		sb.append(", busEnterStandbyTime=").append(busEnterStandbyTime);
		sb.append(", busFlag=").append(busFlag);
		sb.append("]");
		return sb.toString();
	}
}